package org.linloong.modules.apis.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@TableName("t_phenology_data")
@Schema(name = "PhenologyData", description = "物候数据实体（对应文档\"物候接口\"章节Response）")
public class PhenologyData {
    @TableId(type = IdType.ASSIGN_UUID)
    @Schema(description = "自定义主键（UUID）", example = "123e4567-e89b-12d3-a456-426614174002")
    private String id;

    @Schema(description = "文档中返回的\"id\"字段（无实际意义，备用）", example = "1001")
    private String apiId;

    @Schema(description = "设备ID", example = "ZW101569")
    private String deviceId;

    @Schema(description = "数据时间戳（文档中\"timestamp\"字段，Unix毫秒级）", example = "1592271960000")
    private Long timestamp;

    @Schema(description = "NDVI指数（文档中\"ndvi\"字段）", example = "0.65")
    private Float ndvi;

    @Schema(description = "可见光图片路径（文档中\"originalImagePath\"字段）", example = "https://oss.example.com/vis/1.jpg")
    private String originalImagePath;

    @Schema(description = "非可见光图片路径（文档中\"processedImagePath\"字段）", example = "https://oss.example.com/nvis/1.jpg")
    private String processedImagePath;

    @Schema(description = "比值绿度指数（文档中\"ratioGreenness\"字段）", example = "0.72")
    private Float ratioGreenness;

    @Schema(description = "相对绿度指数（文档中\"greenChromatic\"字段）", example = "0.58")
    private Float greenChromatic;

    @Schema(description = "相对红度指数（文档中\"redChromatic\"字段）", example = "0.32")
    private Float redChromatic;

    @Schema(description = "绝对绿度指数（文档中\"greenExcess\"字段）", example = "0.26")
    private Float greenExcess;

    @Schema(description = "绿红植被指数（文档中\"greenRedVegetation\"字段）", example = "0.41")
    private Float greenRedVegetation;

    @Schema(description = "色相（文档中\"hue\"字段）", example = "120.0")
    private Float hue;
}